// pages/edit/uploadThumbnail.js
Page({
   mixins: [require('../../lib/themeChanged')
    ,require('../../lib/request'),
    ,require('../../lib/validForm')],
  /**
   * 页面的初始数据
   */
  data: {
    files:[]
  },



  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  chooseImage: function (e) {
    var that = this;
    wx.chooseImage({
        sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图，默认二者都有
        sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机，默认二者都有
        success: function (res) {
            // 返回选定照片的本地文件路径列表，tempFilePath可以作为img标签的src属性显示图片
            that.setData({
                files: that.data.files.concat(res.tempFilePaths)
            });
        }
    })
  },
  previewImage: function(e){
      wx.previewImage({
          current: e.currentTarget.id, // 当前显示图片的http链接
          urls: this.data.files // 需要预览的图片http链接列表
      })
  },
  selectFile(files) {
      console.log('files', files)
      // 返回false可以阻止某次文件上传
  },
  async uplaodFile(files) {
      const that=this;
      console.log('upload files', files.tempFilePaths[0])
      // 文件上传的函数，返回一个promise
      const pointPos=files.tempFilePaths[0].lastIndexOf(".");
      const suffix = files.tempFilePaths[0].substr(pointPos+1);
      console.log("suffix",suffix);
      return new Promise((resolve, reject) => {
          wx.cloud.uploadFile({
            filePath: files.tempFilePaths[0],
            cloudPath:that.data._id+'_face'+suffix,
            success: res=>{
                var urls = [res]
                resolve({urls})
            }
          });
      })
  },
  uploadError(e) {
      console.log('upload error', e.detail)
  },
  async uploadSuccess(e) {
    const that=this;
    console.log('upload success', e.detail.urls[0])
    that.setData({
        files: that.data.files.concat({url:e.detail.urls[0].fileID})
    });
    const data={'uploadThumb':e.detail.urls[0].fileID,_id:that.data._id};
    const response=await that.request('ad','uploadThumb',data);
    console.log("upload success redirect")
    wx.navigateTo({
      url: '/pages/edit/addDetail?_id='+that.data._id,
    })
  },
    onLoad(options) {
        this.setData({
            selectFile: this.selectFile.bind(this),
            uplaodFile: this.uplaodFile.bind(this),
            _id:options._id
        })
    }
})